home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / if_ppp.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  6KB  |  157 lines

  1. /*    $Id: if_ppp.h,v 1.21 2000/03/27 06:03:36 paulus Exp $    */
  2.  
  3. /*
  4.  * if_ppp.h - Point-to-Point Protocol definitions.
  5.  *
  6.  * Copyright (c) 1989 Carnegie Mellon University.
  7.  * All rights reserved.
  8.  *
  9.  * Redistribution and use in source and binary forms are permitted
  10.  * provided that the above copyright notice and this paragraph are
  11.  * duplicated in all such forms and that any documentation,
  12.  * advertising materials, and other materials related to such
  13.  * distribution and use acknowledge that the software was developed
  14.  * by Carnegie Mellon University.  The name of the
  15.  * University may not be used to endorse or promote products derived
  16.  * from this software without specific prior written permission.
  17.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  18.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  19.  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  20.  *
  21.  */
  22.  
  23. /*
  24.  *  ==FILEVERSION 20000724==
  25.  *
  26.  *  NOTE TO MAINTAINERS:
  27.  *     If you modify this file at all, please set the above date.
  28.  *     if_ppp.h is shipped with a PPP distribution as well as with the kernel;
  29.  *     if everyone increases the FILEVERSION number above, then scripts
  30.  *     can do the right thing when deciding whether to install a new if_ppp.h
  31.  *     file.  Don't change the format of that line otherwise, so the
  32.  *     installation script can recognize it.
  33.  */
  34.  
  35. #ifndef _IF_PPP_H_
  36. #define _IF_PPP_H_
  37. #include <linux/types.h>
  38.  
  39. /*
  40.  * Packet sizes
  41.  */
  42.  
  43. #define    PPP_MTU        1500    /* Default MTU (size of Info field) */
  44. #define PPP_MAXMRU    65000    /* Largest MRU we allow */
  45. #define PROTO_IPX    0x002b    /* protocol numbers */
  46. #define PROTO_DNA_RT    0x0027  /* DNA Routing */
  47.  
  48.  
  49. /*
  50.  * Bit definitions for flags.
  51.  */
  52.  
  53. #define SC_COMP_PROT    0x00000001    /* protocol compression (output) */
  54. #define SC_COMP_AC    0x00000002    /* header compression (output) */
  55. #define    SC_COMP_TCP    0x00000004    /* TCP (VJ) compression (output) */
  56. #define SC_NO_TCP_CCID    0x00000008    /* disable VJ connection-id comp. */
  57. #define SC_REJ_COMP_AC    0x00000010    /* reject adrs/ctrl comp. on input */
  58. #define SC_REJ_COMP_TCP    0x00000020    /* reject TCP (VJ) comp. on input */
  59. #define SC_CCP_OPEN    0x00000040    /* Look at CCP packets */
  60. #define SC_CCP_UP    0x00000080    /* May send/recv compressed packets */
  61. #define SC_ENABLE_IP    0x00000100    /* IP packets may be exchanged */
  62. #define SC_LOOP_TRAFFIC    0x00000200    /* send traffic to pppd */
  63. #define SC_MULTILINK    0x00000400    /* do multilink encapsulation */
  64. #define SC_MP_SHORTSEQ    0x00000800    /* use short MP sequence numbers */
  65. #define SC_COMP_RUN    0x00001000    /* compressor has been inited */
  66. #define SC_DECOMP_RUN    0x00002000    /* decompressor has been inited */
  67. #define SC_MP_XSHORTSEQ    0x00004000    /* transmit short MP seq numbers */
  68. #define SC_DEBUG    0x00010000    /* enable debug messages */
  69. #define SC_LOG_INPKT    0x00020000    /* log contents of good pkts recvd */
  70. #define SC_LOG_OUTPKT    0x00040000    /* log contents of pkts sent */
  71. #define SC_LOG_RAWIN    0x00080000    /* log all chars received */
  72. #define SC_LOG_FLUSH    0x00100000    /* log all chars flushed */
  73. #define    SC_SYNC        0x00200000    /* synchronous serial mode */
  74. #define    SC_MASK        0x0f200fff    /* bits that user can change */
  75.  
  76. /* state bits */
  77. #define SC_XMIT_BUSY    0x10000000    /* (used by isdn_ppp?) */
  78. #define SC_RCV_ODDP    0x08000000    /* have rcvd char with odd parity */
  79. #define SC_RCV_EVNP    0x04000000    /* have rcvd char with even parity */
  80. #define SC_RCV_B7_1    0x02000000    /* have rcvd char with bit 7 = 1 */
  81. #define SC_RCV_B7_0    0x01000000    /* have rcvd char with bit 7 = 0 */
  82. #define SC_DC_FERROR    0x00800000    /* fatal decomp error detected */
  83. #define SC_DC_ERROR    0x00400000    /* non-fatal decomp error detected */
  84.  
  85. /*
  86.  * Ioctl definitions.
  87.  */
  88.  
  89. struct npioctl {
  90.     int        protocol;    /* PPP protocol, e.g. PPP_IP */
  91.     enum NPmode    mode;
  92. };
  93.  
  94. /* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
  95. struct ppp_option_data {
  96.     __u8    __user *ptr;
  97.     __u32    length;
  98.     int    transmit;
  99. };
  100.  
  101. struct ifpppstatsreq {
  102.     struct ifreq     b;
  103.     struct ppp_stats stats;            /* statistic information */
  104. };
  105.  
  106. struct ifpppcstatsreq {
  107.     struct ifreq          b;
  108.     struct ppp_comp_stats stats;
  109. };
  110.  
  111. #define ifr__name       b.ifr_ifrn.ifrn_name
  112. #define stats_ptr       b.ifr_ifru.ifru_data
  113.  
  114. /*
  115.  * Ioctl definitions.
  116.  */
  117.  
  118. #define    PPPIOCGFLAGS    _IOR('t', 90, int)    /* get configuration flags */
  119. #define    PPPIOCSFLAGS    _IOW('t', 89, int)    /* set configuration flags */
  120. #define    PPPIOCGASYNCMAP    _IOR('t', 88, int)    /* get async map */
  121. #define    PPPIOCSASYNCMAP    _IOW('t', 87, int)    /* set async map */
  122. #define    PPPIOCGUNIT    _IOR('t', 86, int)    /* get ppp unit number */
  123. #define    PPPIOCGRASYNCMAP _IOR('t', 85, int)    /* get receive async map */
  124. #define    PPPIOCSRASYNCMAP _IOW('t', 84, int)    /* set receive async map */
  125. #define    PPPIOCGMRU    _IOR('t', 83, int)    /* get max receive unit */
  126. #define    PPPIOCSMRU    _IOW('t', 82, int)    /* set max receive unit */
  127. #define    PPPIOCSMAXCID    _IOW('t', 81, int)    /* set VJ max slot ID */
  128. #define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
  129. #define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
  130. #define PPPIOCXFERUNIT    _IO('t', 78)        /* transfer PPP unit */
  131. #define PPPIOCSCOMPRESS    _IOW('t', 77, struct ppp_option_data)
  132. #define PPPIOCGNPMODE    _IOWR('t', 76, struct npioctl) /* get NP mode */
  133. #define PPPIOCSNPMODE    _IOW('t', 75, struct npioctl)  /* set NP mode */
  134. #define PPPIOCSPASS    _IOW('t', 71, struct sock_fprog) /* set pass filter */
  135. #define PPPIOCSACTIVE    _IOW('t', 70, struct sock_fprog) /* set active filt */
  136. #define PPPIOCGDEBUG    _IOR('t', 65, int)    /* Read debug level */
  137. #define PPPIOCSDEBUG    _IOW('t', 64, int)    /* Set debug level */
  138. #define PPPIOCGIDLE    _IOR('t', 63, struct ppp_idle) /* get idle time */
  139. #define PPPIOCNEWUNIT    _IOWR('t', 62, int)    /* create new ppp unit */
  140. #define PPPIOCATTACH    _IOW('t', 61, int)    /* attach to ppp unit */
  141. #define PPPIOCDETACH    _IOW('t', 60, int)    /* detach from ppp unit/chan */
  142. #define PPPIOCSMRRU    _IOW('t', 59, int)    /* set multilink MRU */
  143. #define PPPIOCCONNECT    _IOW('t', 58, int)    /* connect channel to unit */
  144. #define PPPIOCDISCONN    _IO('t', 57)        /* disconnect channel */
  145. #define PPPIOCATTCHAN    _IOW('t', 56, int)    /* attach to ppp channel */
  146. #define PPPIOCGCHAN    _IOR('t', 55, int)    /* get ppp channel number */
  147.  
  148. #define SIOCGPPPSTATS   (SIOCDEVPRIVATE + 0)
  149. #define SIOCGPPPVER     (SIOCDEVPRIVATE + 1)    /* NEVER change this!! */
  150. #define SIOCGPPPCSTATS  (SIOCDEVPRIVATE + 2)
  151.  
  152. #if !defined(ifr_mtu)
  153. #define ifr_mtu    ifr_ifru.ifru_metric
  154. #endif
  155.  
  156. #endif /* _IF_PPP_H_ */
  157.